package com.meituan.sdk.model.ddzhkh.shangpin.productUnitedUpdateShop;

import com.meituan.sdk.annotations.ApiMeta;
import java.util.List;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;
import javax.validation.constraints.NotEmpty;

/**
* 商品快速改门店（通用）
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzhkh/shangpin/united/update/shops",
    businessId = 59,
    apiVersion = "10070",
    apiName = "product_united_update_shop",
    needAuth = true
)
public class ProductUnitedUpdateShopRequest implements MeituanRequest<ProductUnitedUpdateShopResponse> {
    /**
    * <p data-diff-id="ct-diff-id-b79ef6ba-ca35-4a35-ae22-125c71ee1bc4">商品id</p>
    */
    @NotNull(message = "productId不能为空")
    @SerializedName("productId")
    private Long productId;
    /**
    * <p data-diff-id="ct-diff-id-0c97297a-662d-4887-83c6-2da66884f01d">门店混淆id</p>
    */
    @NotEmpty(message = "opPoiIds不能为空")
    @SerializedName("opPoiIds")
    private List<String> opPoiIds;
    /**
    * <p data-diff-id="ct-diff-id-e167cefa-0df4-4d7b-bc22-c2053060e3b5">操作类型：</p><p data-diff-id="ct-diff-id-965e6f32-2812-4b3d-8c67-3369b694f50f">add-批量添加门店、delete- 批量删除门店、replace-批量替换门店</p>
    */
    @NotBlank(message = "scene不能为空")
    @SerializedName("scene")
    private String scene;

    public Long getProductId() {
        return productId;
    }
    public void setProductId(Long productId) {
        this.productId = productId;
    }
    public List<String> getOpPoiIds() {
        return opPoiIds;
    }
    public void setOpPoiIds(List<String> opPoiIds) {
        this.opPoiIds = opPoiIds;
    }
    public String getScene() {
        return scene;
    }
    public void setScene(String scene) {
        this.scene = scene;
    }


    @Override
    public MeituanResponse<ProductUnitedUpdateShopResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<ProductUnitedUpdateShopResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "ProductUnitedUpdateShopRequest{" + "productId=" + productId + "," + "opPoiIds=" + opPoiIds + "," + "scene=" + scene + "}";
    }
}
